/**************************************************START OF FILE*****************************************************/

#ifndef HH__XSYS_KEYSCAN__HH
#define HH__XSYS_KEYSCAN__HH



/*------------------------------------------------------------------------------------------------------------------
Includes
*/
#include <stddef.h>
#include <stdint.h>
#include <stdbool.h>


/*------------------------------------------------------------------------------------------------------------------
Macros
*/
typedef struct  
{
	uint32_t KeyDown;//按下（边沿），防止功能冲突处理后的消息
	uint32_t KeyUp;//弹起（边沿），防止功能冲突处理后的消息
	uint32_t KeyPress;//按下（电平）
	// uint32_t KeyPressLong;//长按（单次触发）
	// uint32_t KeyPressLong1;//长按（单次触发）  另外一个长按，区别就是长按时间而已	
	// uint32_t KeyPressLongUp;  //长按抬起	
}KEY_Message_TypeDef;//按键消息


typedef void (*pFunCallback)(KEY_Message_TypeDef *pData);


/*------------------------------------------------------------------------------------------------------------------
Variables
*/


/*------------------------------------------------------------------------------------------------------------------
Functions
*/
extern bool xSYS_KeyScan_RegisterCallback(pFunCallback pfun);
extern void xSYS_KeyScan(void);







#endif

/****************************************************END OF FILE*****************************************************/
